package com.example.test.advice.第二章_基本类型.建议23_不要让类型默默转换;

public class Client {

    //光速是30万公里/秒，常量
    public static final int LIGHT_SPEED = 30 * 10000 * 1000;

    public static void main(String[] args) {
        System.out.println("题目1：月亮照射到地球上需要1秒，计算月亮和地球的距离");
        long dis1 = LIGHT_SPEED *1;
        System.out.println("月亮与地球的距离是："+dis1+"米");
        System.out.println("------------------------------------------");
        System.out.println("题目2：太阳光照射到地球上需要8分钟，计算太阳到地球的距离");
        //可能要超出整数范围，使用long型
        //由于java是先运算再进行类型转换，故运算完成后已经超出了int的范围，
        // 出现了溢出，所以计即使用long型变量接收也是有问题的
        //long dis2 = LIGHT_SPEED * 60 * 8;
        long dis2 = 1L*LIGHT_SPEED*60*8;//正确方式,记住声明long类型一定要放到最左边，放到中间或者右边可能造成左边的计算已经出现了溢出
        System.out.println("太阳与地球的距离是："+dis2+"米");
    }
}
